home *** CD-ROM | disk | FTP | other *** search
/ IRIX Patches 1995 September / SGI IRIX Patches 1995 Sep.iso / 5.3_patches / patchSG0000676 / patchSG0000676.idb / var / sysgen / mtune / kernel.z / kernel
Text File  |  1995-09-07  |  13KB  |  388 lines

  1. **************************************************************************
  2. * Copyright 1990-1994, Silicon Graphics, Inc. 
  3. * All Rights Reserved.
  4. *
  5. * This is UNPUBLISHED PROPRIETARY SOURCE CODE of Silicon Graphics, Inc.;
  6. * the contents of this file may not be disclosed to third parties, copied or 
  7. * duplicated in any form, in whole or in part, without the prior written 
  8. * permission of Silicon Graphics, Inc.
  9. *
  10. * RESTRICTED RIGHTS LEGEND:
  11. * Use, duplication or disclosure by the Government is subject to restrictions 
  12. * as set forth in subdivision (c)(1)(ii) of the Rights in Technical Data
  13. * and Computer Software clause at DFARS 252.227-7013, and/or in similar or 
  14. * successor clauses in the FAR, DOD or NASA FAR Supplement. Unpublished - 
  15. * rights reserved under the Copyright Laws of the United States.
  16. **************************************************************************
  17. *
  18. *#ident "$Revision: 1.61 $"
  19.  
  20. * This is a read-only file. User-specified tunables are stored
  21. * in var/sysgen/stune file.
  22. *
  23. * kernel
  24. *
  25.  
  26.  
  27.  
  28. * tunables that turn on/off features
  29. *
  30. * nosuidshells: to allow setuid shells set to 0
  31. * restricted_chown = 1   bsd style chown(2), only super-user can give away files
  32. * restricted_chown = 0 sysV style chown(2), non super-user can give away files
  33. * posix_tty_default = 0 ==> run our default line discipline and settings
  34. * posix_tty_default = 1 ==> match tty parameters/POSIX test assumptions
  35. * use_old_serialnum = 1 ==> Force the kernel to use the old method of
  36. *            calculating a 32-bit serial number for sysinfo -s.
  37. *            This variable only affects Onyx/Challenge L/XL systems.
  38. * reboot_on_panic = -1 ==> Use machine dependent reboot after panic semantics.
  39. * reboot_on_panic =  0 ==> Do not reboot the system after a panic (wait for
  40. *            user to hit the system reset button).
  41. * reboot_on_panic =  1 ==> Automatically reboot the system after a panic.
  42. *
  43. * reset_limits_on_exec = 1 ==> Reset rlimits on exec of processes that are
  44. *            setuid to root to prevent unprivileged processes from
  45. *            enforcing resource limitations on setuid/setgid procs.
  46. * reset_limits_on_exec = 0 ==> Don't reset limits on execs of setuid procs.
  47. *
  48. * tty_auto_strhold = 1 ==> automatically sets STRHOLD on ttys/ptys whenever
  49. *            the line discipline is in canonical & echo mode and
  50. *            automatically clears STRHOLD otherwise.
  51. * tty_auto_strhold = 0 ==> STRHOLD on ptys/ttys is entirely under user control.
  52. switch:    static
  53.  
  54. * name            default          minimum        maximum
  55. nosuidshells         1
  56. restricted_chown     0
  57. posix_tty_default    0
  58. use_old_serialnum    0
  59. reboot_on_panic        -1
  60. reset_limits_on_exec    1
  61.  
  62. switch: run
  63. * name            default          minimum        maximum
  64. tty_auto_strhold    0
  65.  
  66. * miscellaneous dynamic tuneables 
  67. *
  68. * r4k_div_patch = 1    turn on exec patch code for binaries that have been
  69. *            processed with r4kpp for the divide in branch delay slot
  70. *            problem that occurs on R4000 SC rev 2.2 and 3.0 parts.
  71. * corepluspid = 1    name core file as "core.pid"
  72. * panic_on_sbe = 1    special factory debugging mode
  73. * ecc_recover_enable = 0  ==> don't attempt to recover from multibit errors
  74. *             > 0  ==> attempt to recover from some cases of multibit
  75. *                errors, but no more than 32 errors every
  76. *                "ecc_recover_enable" seconds (default 60 secs)
  77. * munlddelay = 5    timeout for auto-unload for loadable modules
  78. * dump_all_pages = 1 ==> dump kernel and user and free pages during panic 
  79. *
  80. misc: run
  81.  
  82. * name            default        minimum        maximum
  83. r4k_div_patch        0
  84. corepluspid        0
  85. panic_on_sbe        0
  86. ecc_recover_enable    60
  87. module_unld_delay    5        0
  88. dump_all_pages        1
  89.  
  90. *
  91. * tunables that set the limit
  92. *
  93. * ncargs is max # bytes of arguments passed during an exec(2)
  94. * shlbmax :  Maximum number of libraries that can be
  95. *            attached to a process at one time.
  96. * maxwatchpoints:  maximum watchpoints per process
  97. * nprofile: number of disjoint text spaces to be profiled 
  98. * maxsymlinks is the maximum number of symlinks expanded in an pathname.
  99. * reserve_ncallout: number of reserved callouts 
  100. * maxup: the maximum number of processes per user, should always smaller than
  101. *     nproc
  102. * vnode_free_ratio: proportion of free vnodes to vnodes in use.
  103. *
  104. * reserve_ncallout auto-config: max(5,numcpus)
  105. * maxup limit: nproc - 20
  106. * vnode_free_ratio auto-config: 2 (to one)
  107. * bmappedpct: the maximum % of syssegsz that is allowed to be mapped in the 
  108. *     buffer cache. If the value is 100, then the feature that limits the 
  109. *     reclaimation of k2 space is disabled.
  110.  
  111. limits:    run
  112.  
  113. * name            default          minimum        maximum
  114. ncargs             20480        5120        262144
  115. shlbmax         8        3        32
  116. maxwatchpoints         100        1        1000
  117. nprofile         100        100        200
  118. maxsymlinks         30        0        50
  119. reserve_ncallout     0        0        50     /* auto-config */
  120. maxup            150        15        10000
  121. vnode_free_ratio     2        1        16
  122. bmappedpct        50        30        100
  123.  
  124. *
  125. * tunables for resource limit
  126. * 'cur' may be changed via any shell or setrlimit
  127. * For limits specified as ints 0x7fffffff implies no
  128. * limit, while for limits specified as long longs 0x7fffffffffffffff
  129. * implies no limit.
  130. *
  131. * Note: rlimit_nofile_max must not be set to 0x7fffffff (or unreasonably
  132. * large) since many daemons/programs use rlimit_nofile_max as an indication
  133. * of how many file descriptors to close when they want to close them all.
  134. *
  135.  
  136. resource:    static
  137.  
  138. * name            default          minimum      maximum
  139. rlimit_cpu_cur          0x7fffffff    0    0x7fffffff
  140. rlimit_cpu_max          0x7fffffff    0    0x7fffffff
  141. rlimit_fsize_cur      0xffffffffff    0    0xffffffffff ll
  142. rlimit_fsize_max      0xffffffffff    0    0xffffffffff ll
  143. rlimit_data_cur      0x20000000    0    0x7fffffff
  144. rlimit_data_max      0x20000000    0    0x7fffffff
  145. rlimit_stack_cur      0x04000000    0    0x7fffffff
  146. rlimit_stack_max      0x20000000    0    0x7fffffff
  147. rlimit_core_cur      0x7fffffff    0    0x7fffffff
  148. rlimit_core_max      0x7fffffff    0    0x7fffffff
  149. rlimit_nofile_cur      200        20
  150. rlimit_nofile_max      2500        0    0x7fffffff
  151. rlimit_vmem_cur      0x20000000    0    0x7fffffff
  152. rlimit_vmem_max      0x20000000    0    0x7fffffff
  153. rlimit_rss_cur          0        0    0x7fffffff /* auto-config */
  154. rlimit_rss_max          0x20000000    0    0x7fffffff
  155.  
  156. *
  157. * tunables that depend on nproc
  158. *
  159. * nproc: maximum number of processes
  160. * ndquot: maximum number of file system quota structures
  161. * ncallout: initial # of callouts -- used to implement timeout calls
  162. * callout_himark:  high water mark of callouts
  163. * ncsize: directory-name lookup cache size
  164. * ngroups_max: maximum number of groups to which user can belong
  165. *
  166. * nproc auto-config: 30 + KB(mem)/240
  167. * ndquot auto-config: 200 + 2*nproc
  168. * ncsize auto-config: 200 + 2*nproc
  169. * ncallout auto-config: nproc/2
  170. *
  171. numproc:    static
  172.  
  173. * name            default          minimum      maximum
  174. nproc            0        30    10000    /* auto-config */
  175. ndquot            0        268    6200    /* auto-config */
  176. callout_himark         0        42    10000    /* auto-config */
  177. ncallout         0        20    5000    /* auto-config */
  178. ncsize             0               268     6200    /* auto-config */
  179. ngroups_max         16        0    32
  180.  
  181. *
  182. * The following is for STREAMS.
  183. *
  184. streams:    static
  185.  
  186. * name            default          minimum      maximum
  187. nstrpush          9        9       10
  188. strmsgsz          0x8000
  189. strctlsz          1024
  190.  
  191. streams:    run
  192.  
  193. * name            default          minimum      maximum
  194. strholdtime        50        0      1000
  195.  
  196. *
  197. * cpu actions -- interprocessor communication blocks
  198. * nactions: number of action block, autoconfigure if 0
  199. *
  200. * nactions auto-config: max((maxcpus+60), (maxcpus*(maxcpus/2)))
  201. *
  202.  
  203. actions:    static
  204.  
  205. * name            default          minimum      maximum
  206. nactions         0        60       200    /* auto-config */
  207.  
  208. *
  209. * tunables for queued signals
  210. *
  211. * maxsigq: used by sigqsetup()  - Posix.4 required at least 32
  212. * since svr4 SA_SIGINFO signals also share this, make maxsigq >= NSIG+32
  213. * results in
  214. * sysconf(SIGQUEUE_MAX) = maxsigq - NSIG
  215. *
  216. signals:    run
  217.  
  218. * name            default          minimum      maximum
  219. maxsigq         96        96    
  220.  
  221. *
  222. * tunables for timer
  223. *
  224. * fasthz: profiling/fast itimer clock speed. 
  225. *
  226. * itimer_on_clkcpu = 1 10 ms itimer request is queued on the clock processoro
  227. * itimer_on_clkcpu = 0 0 ms itimer request is queued on the runing processor
  228. * If a process does a setitimer then uses gettimeofday() to compare the
  229. * accuracy of the itimer delivery then itimer_on_clkcpu should be set.
  230. * If on the otherhand, itimer request is used to implement a user frequency
  231. * based scheduler then itimer_on_clkcpu should be 0.
  232. *
  233. * timetrim: The clock is adjusted by this signed number of nanoseconds 
  234. *        every second. It is limited to 3 milliseconds or 0.3% in clock.c.
  235. *    Timed(1M) and timeslave(1M) put suggested values in /usr/adm/SYSLOG.
  236. *
  237. timer:    static
  238.  
  239. * name            default          minimum      maximum
  240. fasthz             1000        500       2500    
  241. itimer_on_clkcpu     0
  242. timetrim         0
  243.  
  244. *
  245. * tunables for memory size
  246. *
  247. * maxpmem: the maximum physical memory to use, if maxpmem = 0,
  248. *       then use all available physical memory.
  249. * syssegsz: max pages of dynamic system memory,
  250. * maxdmasz: max dma transfer (in pages), must be no more than syssegsz / 2
  251. *         and less than maxpmem
  252. * maxpglst: maximum number of pages that can be held in each
  253. *        of the pager's pageout queues
  254. * maxphyscolors: max number of page colors (cache entries),
  255. *        must be a power of two
  256. *
  257. * syssegsz auto-config: min(max(KB(mem)/8,0x2000),0x10000)
  258. * maxdmasz auto-config: syssegsz/2
  259. * maxpglst auto-config: min(max(KB(mem)/2048,100)+(numcpus-1)*16,1000)
  260. * maxphyscolors auto-config: 0x1000
  261. *
  262. memsize:    static
  263.  
  264. * name            default          minimum      maximum
  265. maxpmem            0        1024
  266. syssegsz        0        0x2000      0x10000   /* auto-config */
  267. maxdmasz        1024        1024      syssegsz  /* auto-config */
  268. maxpglst        0        50      1000        /* auto-config */
  269. maxphyscolors        0        0x20      0x1000    /* auto-config */
  270.  
  271. *
  272. * Tuneable Paging parameters    
  273. *
  274. * gpgslo: If freemem < gpgslo, then start to steal pages from processes.
  275. * gpgshi: Once we start to steal pages, don't  stop until freemem > gtpgshi.    
  276. * gpgsmsk: Mask used by getpages to determine whether a page is stealable.
  277. * maxsc: The maximum number of pages which will be swapped out in a single
  278. *        operation.
  279. * maxfc: The maximum number of pages which will be saved up and freed at once.
  280. * maxdc: The maximum number of pages which will be saved up and written to
  281. *     disk (mappd files) at once.
  282. * maxumem: Obsolete - see RLIMIT_VMEM
  283. * minarmem: The minimum available resident (not swapable) memory to maintain in
  284. *        order to avoid deadlock.
  285. * minasmem: The minimum available swapable memory to maintain in order to avoid
  286. *        deadlock.
  287. * maxlkmem: The maximum amount of lockable pages per process
  288. * tlbdrop: Number of ticks before a procs wired entries are flushed
  289. * rsshogfrac: Fraction of memory RSS hogs can use
  290. * rsshogslop: # pages excess of RSS before slow down process
  291. * dwcluster: Maximum number of delayed write pages to cluster in each push.
  292. * bdflushr: The rate at which bdflush is run, in seconds.
  293. * autoup: The age a delayed-write buffer must be, in seconds,
  294. *      before bdflush will write it out.
  295. * vfs_syncr: The rate at which vfs_syncr is run, in seconds.
  296. *
  297.  
  298. paging:        run
  299.  
  300. * name            default          minimum      maximum
  301. gpgslo            0
  302. gpgshi            0        30
  303. gpgsmsk            2        0       7
  304. maxsc            0        8      maxpglst
  305. maxfc            0        50      maxpglst
  306. maxdc            0        1      maxpglst
  307. bdflushr        5        1      31536000
  308. vfs_syncr        30        1      31536000
  309. minarmem        0
  310. minasmem        0
  311. maxlkmem        2000
  312. tlbdrop            100
  313. rsshogfrac        75        0      100
  314. rsshogslop        20
  315. dwcluster        64
  316. autoup            10        1         30
  317.  
  318.  
  319. *
  320. * tunables for buffer cache
  321. *
  322. * nbuf: number of  buffers in disk buffer cache. autoconfigure if 0
  323. *
  324. * nbuf auto-config: max(100+KB(mem)/160,6000)
  325.  
  326. bufcache:    static
  327.  
  328. * name            default          minimum      maximum
  329. nbuf            0          75       6000
  330.  
  331. *
  332. * tunables for module loader
  333. *
  334. * bdevsw_extra: number of extra entries for bdevsw
  335. * cdevsw_extra: number of extra entries for cdevsw
  336. * fmodsw_extra: number of extra entries for fmodsw
  337. * vfssw_extra: number of extra entries for vfssw
  338. *
  339. mload:        static
  340.  
  341. * name            default          minimum      maximum
  342. bdevsw_extra        21        1      254
  343. cdevsw_extra        23        3      254
  344. fmodsw_extra        20        0
  345. vfssw_extra        5        0
  346.  
  347. *
  348. * tunables for spinlock pools
  349. *
  350. * R3000-based multiprocessor machines have a limited number of
  351. * MPBUS hardware locks.  To reduce the possibility of spinlock
  352. * depletion, groups of spinlocks use shared pools of locks in
  353. * a many-to-one mapping.  Users of a spinlock pool must never
  354. * nest (or must take precautions when nesting).
  355. *
  356. * sema_pool_size: number of spinlocks pooled for all semaphores
  357. * vnode_pool_size: number of spinlocks pooled for vnodes
  358. * file_pool_size: number of spinlocks pooled for file structs
  359. *
  360. splock_pool:        static
  361.  
  362. * name            default          minimum      maximum
  363. sema_pool_size        8192        1024      16384
  364. vnode_pool_size        1024        512      2048
  365. file_pool_size        1024        512      2048
  366.  
  367. *
  368. * SGI internal use
  369. *
  370. * histmax: semaphore history
  371. * conbufsz: console buffer sizes 
  372. * putbufsz: put buffer sizes 
  373. * dumplo: starting default offset in dumpdev to dump kernel when it crashes 
  374. * smeterhash: # of hash buckets for semaphore metering structures;
  375. *    if set, will be rounded up to power-of-two
  376. * mrmeterhash: # of hash buckets for multi-reader lock metering structures;
  377. *    if set, will be rounded up to power-of-two
  378. *
  379. internal:    static
  380.  
  381. * name            default          minimum      maximum
  382. histmax         0
  383. conbufsz         1024
  384. putbufsz         1024
  385. dumplo             0
  386. smeterhash        0        0      65536
  387. mrmeterhash        0        0      1024
  388.